<?php

namespace app\api\Service;

use app\common\library\Auth;
use addons\epay\library\Service;
use think\Db;
use think\Config;
use think\Hook;

class OrderService
{

    /**
     * 订单支付功能
     *
     * 该方法处理订单的支付逻辑，包括验证订单、更新订单状态和发起支付请求
     * 它首先验证用户身份和订单参数，然后根据订单类型构建支付请求参数，
     * 并调用微信支付接口发起支付请求如果订单金额为0，则直接更新订单为已支付状态
     *
     * @param array $data 包含订单ID和其他可能需要的数据
     * @return array 包含支付结果的数组，有'code'、'msg'和'data'字段
     */
    public static function orderPayment($data)
    {
        // 初始化认证类实例，用于获取用户信息
        $auth = Auth::instance();
        // 获取当前用户ID
        $user_id = $auth->id;
        // 获取当前用户的微信OpenID
        $openid = $auth->openid;
        // 提取订单ID
        $order_id = $data['order_id'];
        // 默认支付方式为小程序
        $method = 'miniapp';

        // 检查是否绑定了微信OpenID
        if(!$openid) return ['code'=>0,'msg'=>'请先绑定微信','data'=>''];
        // 检查订单ID是否有效
        if(!$order_id) return ['code'=>0,'msg'=>'订单参数无效','data'=>''];

        // 查询订单信息，确保订单存在且属于当前用户
        $orderInfo = \app\admin\model\Order::where(['id'=>$order_id,'user_id'=>$user_id])->find();
        if (!$orderInfo) return ['code'=>0,'msg'=>'订单不存在','data'=>''];

        // 根据订单类型设定订单描述
        if($orderInfo['type'] == 'install') $order_type = '安装充电桩';
        if($orderInfo['type'] == 'repair') $order_type = '维修充电桩';

        // 支付标题
        $title = "支付{$order_type}订单-{$orderInfo['order_no']}";

        // 处理订单金额为0的情况，直接更新订单为已支付
        if($orderInfo['payamount'] == 0){
            // 修改订单支付状态
            $orderInfo->trade_no = $orderInfo['order_no'];
            $orderInfo->paid = 1;
            $orderInfo->paytime = time();
            $result = $orderInfo->save();
            if($result){
                // 获取客服联系方式
                $phone = Config::get('site.technical_service_hotline');
                $wechat = Config::get('site.wechat_service_hotline');
                // 获取用户昵称
                $nickname = \app\admin\model\User::where(['id'=>$user_id])->value('nickname');
                // 构建通知消息
                $type = '安装';
                $msg = "{$nickname}的{$order_type}订单{$orderInfo['order_no']}已经下单成功，请尽快联系客户沟通。";
                $mobile = Config::get('site.technical_service_hotline');
                //发送通知短信
                noticeSend($mobile,$msg);

                return ['code'=>1,'msg'=>'支付成功','data'=>['wechat'=>$wechat,'phone'=>$phone]];
            }else{
                return ['code'=>0,'msg'=>'支付失败','data'=>''];
            }

            // 处理订单金额大于0的情况，准备发起支付请求
        }else{
            $type = 'wechat';
            // 构建微信支付回调URL
            $notifyurl = request()->domain() . '/addons/epay/index/order_notifyx/paytype/' . $type;

            // 构建支付请求参数
            $params = [
                'amount'    => $orderInfo['payamount'],
                'orderid'   => $orderInfo['order_no'],
                'type'      => $type,
                'title'     => '【'.$title.'】',
                'method'    => $method,
                'openid'    => $openid,
                'notifyurl'    => $notifyurl,
            ];
            // 测试支付，固定金额为0.01元
            // $params['amount'] = 0.01;
            // 调用微信支付接口发起支付请求
            $response = Service::submitOrder($params);
            // 解析支付接口返回的响应
            $response = json_decode($response,true);
            return ['code'=>1,'msg'=>'操作成功','data'=>$response];
        }
    }

    // 技术电话
    public static function getPhone(){
        $phone = Config::get('site.technical_service_hotline');
        $wechat = Config::get('site.wechat_service_hotline');
        return ['code'=>1,'msg'=>'操作成功','data'=>['phone'=>$phone,'wechat'=>$wechat]];
    }

    /**
     * 获取用户订单列表
     *
     * 此函数用于根据用户请求的数据参数获取相应的订单列表信息
     * 它首先验证用户身份，然后根据订单类型查询相关订单详情
     * 最后返回格式化的订单列表信息
     *
     * @param array $data 包含分页信息和其他参数的数组
     * @return array 包含订单列表信息的数组
     */
    public static function getOrderLists($data){
        // 实例化认证类以获取当前用户信息
        $auth = Auth::instance();
        // 获取当前用户ID
        $user_id = $auth->id;
        // 设置每页显示的订单数量，默认为10条
        $limit = isset($data['limit']) && $data['limit'] ? $data['limit'] : 10;
        $status = isset($data['status']) && $data['status'] ? $data['status'] : -1;

        if($status == -1){
            $where = ['user_id'=>$user_id,'paid'=>1];
        }elseif($status == 1){
            $where = ['user_id'=>$user_id,'paid'=>1,'status'=>['in',[0,1]]];
        }elseif($status == 2){
            $where = ['user_id'=>$user_id,'paid'=>1,'status'=>2];
        }elseif($status == 3){
            $where = ['user_id'=>$user_id,'paid'=>1,'status'=>3];
        }elseif($status == 100){
            $where = ['user_id'=>$user_id,'status'=>100];
        }

        // 查询用户订单信息，按创建时间降序排列，并进行分页处理
        $list = \app\admin\model\Order::where($where)->order('createtime desc')->field('id,type,order_no,payamount,paid,status')->paginate($limit)->each(function ($item, $key){
            // 根据订单类型添加订单名称和详情
            if($item['type'] == 'install'){
                // 如果是安装类型订单
                $item['type_name'] = '安装充电桩';
                // 查询安装订单的详细信息
                $installInfo = \app\admin\model\OrderInstall::where(['order_id'=>$item['id']])->field('power_name,package_name,package_type_name')->find();
                // 组装订单标题
                $item['title'] = $installInfo['power_name'].$installInfo['package_name'].$installInfo['package_type_name'];
            }else{
                // 如果是维修类型订单
                $item['type_name'] = '维修充电桩';
                // 查询维修订单的详细信息
                $repairInfo = \app\admin\model\OrderRepair::where(['order_id'=>$item['id']])->field('device_name,device_model')->find();
                // 组装订单标题
                $item['title'] = $repairInfo['device_name'].$repairInfo['device_model'];
            }

            if($item['paid'] == 0 && $item['status'] == 0){
                $item['status_text'] = '未支付';
            }elseif($item['paid'] == 1 && ($item['status'] == 0 || $item['status'] == 1)){
                $item['status_text'] = '待上门';
            }elseif($item['paid'] == 1 && $item['status'] == 2){
                $item['status_text'] = '服务中';
            }elseif($item['paid'] == 1 && $item['status'] == 3){
                $item['status_text'] = '已完结';
            }elseif($item['status'] == 100){
                $item['status_text'] = '已取消';
            }
        });
        // 返回成功信息和订单列表数据
        return ['code'=>1,'msg'=>'查询成功','data'=>$list];
    }

    /**
     * 获取订单详情
     *
     * 此函数根据提供的数据参数中的订单ID，查询并返回该订单的详细信息
     * 如果订单类型为安装，则获取安装相关的额外信息；如果订单类型为维修，则获取维修相关的额外信息
     *
     * @param array $data 包含订单ID的数组，用于查询订单详情
     * @return array 返回订单详情，包括订单基本信息、师傅信息（待补全）和订单类型特定信息
     */
    public static function getOrderDetails($data)
    {
        // 实例化认证类以获取当前用户信息
        $auth = Auth::instance();
        // 获取当前用户的ID
        $user_id = $auth->id;
        // 从输入数据中提取订单ID
        $order_id = $data['order_id'];

        // 查询订单表中匹配当前用户和给定订单ID的订单详情
        $details = \app\admin\model\Order::where(['id'=>$order_id,'user_id'=>$user_id])->field('id,type,reservation_time,arrival_time,master_id,order_no,payamount,createtime,paytime,province_id,city_id,area_id,address,mobile,master_lng,master_lat,memo,status,paid,finish_annex')->find();

        // 如果找到了匹配的订单详情
        if($details){
            // 师傅信息
            $master = \app\admin\model\User::where(['id'=>$details['master_id']])->field('nickname,avatar,mobile')
                ->find();

            if($master){
                $details['master_name'] = $master['nickname'];
                $details['master_avatar'] = $master['avatar'];
                $details['master_mobile'] = Config::get('site.400phone');
            }else{
                $details['master_name'] = '';
                $details['master_avatar'] = '';
                $details['master_mobile'] = Config::get('site.400phone');
            }

            // 根据订单类型补充订单特定信息
            if($details['type'] == 'install'){
                // 如果是安装订单，设置订单类型名称为“安装充电桩”
                $details['type_name'] = '安装充电桩';
                // 查询安装订单的详细信息
                $installInfo = \app\admin\model\OrderInstall::where(['order_id'=>$details['id']])->field('power_name,package_name,package_type_name')->find();
                // 构建安装订单的标题
                $details['title'] = $installInfo['power_name'].$installInfo['package_name'].$installInfo['package_type_name'];
            }else{
                // 如果是维修订单，设置订单类型名称为“维修充电桩”
                $details['type_name'] = '维修充电桩';
                // 查询维修订单的详细信息
                $repairInfo = \app\admin\model\OrderRepair::where(['order_id'=>$details['id']])->field('device_name,device_model,repair_type,title,description,annex')->find();
                // 组装订单标题
                $details['title'] = $repairInfo['device_name'].$repairInfo['device_model'];
                $details['repair_type'] = \app\admin\model\ReportType::where(['id'=>$repairInfo['repair_type']])->value('name');
                $details['question'] = $repairInfo['title'];
                $details['description'] = $repairInfo['description'];
                $details['annex'] = explode(',',$repairInfo['annex']);
            }

            // 异常信息
            $exception = \app\admin\model\OrderException::where(['order_id'=>$details['id']])->field('id,exception_type,reason')->find();
            if($exception){
                $details['exception_type'] = $exception['exception_type'];
                $details['reason'] = $exception['reason'];
            }else{
                $details['exception_type'] = '';
                $details['reason'] = '';
            }
            
            // 增项信息
            $additem = \app\admin\model\OrderAdditem::where(['order_id'=>$details['id']])->field('id,add_type,images,reason,price')->find();
            if($additem){
                $details['add_type'] = $additem['add_type'];
                $details['images'] = explode(',',$additem['images']);
                $details['price'] = $additem['price'];
                $details['reason'] = $additem['reason'];
            }else{
                $details['add_type'] = '';
                $details['images'] = '';
                $details['price'] = '';
                $details['reason'] = '';
            }
            


            if($details['paid'] == 0){
                $details['status_text'] = '未支付';
            }elseif($details['paid'] == 1 && ($details['status'] == 0 || $details['status'] == 1)){
                $details['status_text'] = '待上门';
            }elseif($details['paid'] == 1 && $details['status'] == 2){
                $details['status_text'] = '服务中';
            }elseif($details['paid'] == 1 && $details['status'] == 3){
                $details['status_text'] = '已完结';
            }elseif($details['status'] == 100){
                $details['status_text'] = '已取消';
            }elseif($details['status'] == 200){
                $details['status_text'] = '订单异常';
            }
            $details['createtime_text'] = date('Y-m-d H:i:s',$details['createtime']);
            $details['paytime_text'] = date('Y-m-d H:i:s',$details['paytime']);
            if($details['finish_annex']){
                $details['finish_annex'] = json_decode($details['finish_annex'],true);
            }else{
                $details['finish_annex'] = [];
            }
            $details['memo'] = $details['memo'] ? $details['memo'] : '';
            
            // 是否评价
            $is_comment = \app\admin\model\OrderComments::where(['order_id'=>$details['id']])->count();
            $details['is_comment'] = $is_comment;
        }else{
            // 如果没有找到匹配的订单，返回空数组
            $details = [];
        }

        // 返回查询结果，包括状态码、消息和订单详情数据
        return ['code'=>1,'msg'=>'查询成功','data'=>$details];
    }

    /**
     * 获取网站服务电话
     *
     * 本函数通过配置文件获取网站的服务电话号码，并以特定格式返回
     * 使用 Config::get 方法从配置文件中读取 'site.service_phone' 配置项
     *
     * @return array 返回一个包含服务电话号码的数组，数组格式为 ['code'=>1,'msg'=>'查询成功','data'=>$service_phone]
     *               其中 'code' 表示状态码，'msg' 表示查询状态消息，'data' 则包含实际的服务电话号码
     */
    public static function getServicePhone()
    {
        // 从配置文件中获取服务电话号码
        $service_phone = Config::get("site.service_phone");

        // 返回包含服务电话号码的数组
        return ['code'=>1,'msg'=>'查询成功','data'=>$service_phone];
    }

    /**
     * 获取取消操作提示信息
     *
     * 根据订单ID查询订单状态，并根据状态返回相应的取消提示信息
     * 如果订单状态为已确认（非0），则从配置中获取取消提示信息
     * 如果订单状态为未确认（0），则返回默认的取消提示信息
     *
     * @param array $data 包含订单ID的数据数组
     * @return array 包含状态码、消息和取消提示信息的数组
     */
    public static function getCancelTips($data)
    {
        // 实例化Auth类以进行用户身份验证
        $auth = Auth::instance();
        // 获取当前登录用户的ID
        $user_id = $auth->id;
        // 从输入数据中提取订单ID
        $order_id = $data['order_id'];

        // 根据订单ID和用户ID查询订单信息
        $order = \app\admin\model\Order::where(['id'=>$order_id,'user_id'=>$user_id])->find();
        // 如果查询结果为空，说明订单不存在，返回错误信息
        if(!$order) return ['code'=>0,'msg'=>'订单不存在','data'=>''];

        // 查询订单状态
        $status = $order['status'];

        // 根据订单状态决定取消提示信息
        if($status){
            // 从配置中获取取消操作的提示信息
            $cancel_tips = Config::get("site.cancel_tips");
        }else{
            // 设置默认的取消提示信息
            $cancel_tips = '确认取消？';
        }

        // 返回查询成功及取消提示信息
        return ['code'=>1,'msg'=>'查询成功','data'=>$cancel_tips];
    }

    /**
     * 取消订单功能
     *
     * 此函数用于处理用户请求取消特定订单的操作它首先验证订单是否存在以及当前用户的权限，
     * 然后根据订单状态判断是否可以取消如果订单可以被取消，它将更新订单状态并提交更改，
     * 否则将返回相应的错误信息整个过程使用事务处理，以确保数据的一致性和完整性
     *
     * @param array $data 包含订单ID的数组，用于指定需要取消的订单
     * @return array 返回结果数组，包含操作代码、消息和数据
     */
    public static function cancelOrder($data)
    {
        // 实例化Auth类以进行用户身份验证
        $auth = Auth::instance();
        // 获取当前登录用户的ID
        $user_id = $auth->id;
        // 从输入数据中提取订单ID
        $order_id = $data['order_id'];

        // 根据订单ID和用户ID查询订单信息
        $order = \app\admin\model\Order::where(['id'=>$order_id,'user_id'=>$user_id])->find();
        // 如果查询结果为空，说明订单不存在，返回错误信息
        if(!$order) return ['code'=>0,'msg'=>'订单不存在','data'=>''];
        // 如果订单状态为已完成，返回错误信息，表示订单不能被取消
//        if($order['status'] == 3 ) return ['code'=>0,'msg'=>'订单已完成，不能取消','data'=>''];

        // 开始事务处理
        Db::startTrans();
        try{
            // 更新订单状态为已取消
            $order->old_state = $order['status'];
            $order->status = 100;
            // 保存订单信息
            $res = $order->save();

            // 提交事务

            // 判断订单更新是否成功
            if($res){
                // 成功时返回成功信息
                Db::commit();

                $noticeParams = [
                    'event' => 'cancel_order',
                    'params' => array (
                        'receiver_admin_ids' => '',
                        'receiver_admin_group_ids' => '',
                        'order_no' => $order['order_no'],
                    )];
                \Think\Hook::listen('send_notice', $noticeParams);


                return ['code'=>1,'msg'=>'操作成功','data'=>''];
            }else{
                // 失败时返回失败信息
                Db::rollback();
                return ['code'=>0,'msg'=>'操作失败','data'=>''];
            }
        }catch(\Exception $e){
            // 回滚事务
            Db::rollback();
            // 异常时返回异常信息
            return ['code'=>0,'message'=>$e->getMessage(),'data'=>''];
        }
    }

    public static function finishOrder($data)
    {
        // 实例化Auth类以进行用户身份验证
        $auth = Auth::instance();
        // 获取当前登录用户的ID
        $user_id = $auth->id;
        // 从输入数据中提取订单ID
        $order_id = $data['order_id'];

        // 根据订单ID和用户ID查询订单信息
        $order = \app\admin\model\Order::where(['id'=>$order_id,'user_id'=>$user_id])->find();
        // 如果查询结果为空，说明订单不存在，返回错误信息
        if(!$order) return ['code'=>0,'msg'=>'订单不存在','data'=>''];
        // 检查订单状态是否正确，只有当订单状态为2时，才继续执行后续逻辑
        if($order['status'] != 2 ) return ['code'=>0,'msg'=>'订单状态错误','data'=>''];

        // 开始事务处理
        Db::startTrans();
        try{
            // 更新订单状态为已取消
            $order->status = 3;
            $order->updatetime = time();
            // 保存订单信息
            $res = $order->save();

            // 提交事务
            Db::commit();
            // 判断订单更新是否成功
            if($res){
                // 订单完成给师傅提成
                $master_id = $order['master_id'];
                $freeze = Config::get("site.freeze");
                $freeze_rate = Config::get("site.freeze_rate");
                $masterInfo = \app\admin\model\User::where(['id'=>$master_id])->field('deposit')->find();
                $deposit = $masterInfo['deposit'];

                if($order['type'] == 'install'){
                    $orderInstall = \app\admin\model\OrderInstall::where(['order_id'=>$order['id']])->field('price,extra_money')->find();
                    $platform_commission = Config::get('site.install_brokerage');
                    $price = $orderInstall['price'];
                }
                if($order['type'] == 'repair'){
                    $orderRepair = \app\admin\model\OrderRepair::where(['order_id'=>$order['id']])->field('callout_fee,inspection_fee')->find();
                    $platform_commission = Config::get('site.repair_brokerage');
                    $price = $orderRepair['callout_fee'] + $orderRepair['inspection_fee'];
                }
                $money = bcmul($price , (1 - $platform_commission / 100),2);
                $freeze_money = bcmul($money, ($freeze_rate/100), 2);

                if($freeze > 0){
                    if(bcadd($freeze_money, $deposit,2) >= $freeze){
                        \app\common\model\User::where(['id'=>$master_id])->update(['deposit'=>$freeze]);
                        $money = bcsub($money,bcsub(bcadd($freeze_money, $deposit,2), $freeze, 2),2);
                    }else{
                        \app\common\model\User::where(['id'=>$master_id])->update(['deposit'=>bcsub($freeze_money, $deposit)]);
                        $money = bcsub($money, $freeze_money, 2);
                    }
                }
//                return $money;
                // 增加累计佣金
                \app\common\model\User::where(['id'=>$master_id])->setInc('accrue_money',$money);
                // 增加佣金和记录
                \app\common\model\User::money($money,$master_id,"订单{$order['order_no']}完成提成",$order_id);

                // 成功时返回成功信息
                return ['code'=>1,'msg'=>'操作成功','data'=>''];
            }else{
                // 失败时返回失败信息
                return ['code'=>0,'msg'=>'操作失败','data'=>''];
            }
        }catch(\Exception $e){
            // 回滚事务
            Db::rollback();
            // 异常时返回异常信息
            return ['code'=>0,'message'=>$e->getMessage(),'data'=>''];
        }

    }

    // 评价订单
    public static function evaluateOrder($data)
    {
        $order_id = $data['order_id'];
        $content = $data['content'];
        $score = $data['score'];
        $images = $data['images'];

        // 获取当前登录用户ID
        $user_id = Auth::instance()->id;

        // 查询订单信息
        $order = \app\admin\model\Order::where(['id'=>$order_id,'user_id'=>$user_id])->find();

        // 如果订单不存在，返回错误信息
        if(!$order) return['code'=>0,'msg'=>'订单不存在','data'=>''];

        $comments = \app\admin\model\OrderComments::where(['user_id'=>$user_id,'order_id'=>$order_id])->find();
        if($comments) return['code'=>0,'msg'=>'您已评价过该订单','data'=>''];

        // 开始事务处理
        Db::startTrans();
        try{

            $params = [
                'user_id'       =>  $user_id,
                'order_id'      =>  $order_id,
                'master_id'     =>  $order['master_id'],
                'star'          =>  $score,
                'content'       =>  $content,
                'images'        =>  $images,
            ];
            // 保存订单信息
            $res = \app\admin\model\OrderComments::create($params);

            // 提交事务
            Db::commit();
            // 判断订单更新是否成功
            if($res){
                // 成功时返回成功信息
                return ['code'=>1,'msg'=>'操作成功','data'=>''];

            }else{
                // 失败时返回失败信息
                return ['code'=>0,'msg'=>'操作失败','data'=>''];
            }
        }catch(\Exception $e){
            // 回滚事务
            Db::rollback();
            // 异常时返回异常信息
            return ['code'=>0,'message'=>$e->getMessage(),'data'=>''];
        }


    }

    public static function changeReservationTime($data)
    {
        // 实例化Auth类以进行用户身份验证
        $auth = Auth::instance();
        // 获取当前登录用户的ID
        $user_id = $auth->id;
        // 从输入数据中提取订单ID
        $order_id = $data['order_id'];
        $reservation_time = $data['reservation_time'];

        // 根据订单ID和用户ID查询订单信息
        $order = \app\admin\model\Order::where(['id'=>$order_id,'user_id'=>$user_id])->find();
        // 如果查询结果为空，说明订单不存在，返回错误信息
        if(!$order) return ['code'=>0,'msg'=>'订单不存在','data'=>''];
        // 如果订单状态为已完成，返回错误信息，表示订单不能被取消
        if($order['status'] == 2 || $order['status'] == 3) return ['code'=>0,'msg'=>'订单状态错误','data'=>''];

        // 开始事务处理
        Db::startTrans();
        try{
            // 更新订单状态为已取消
            $order->reservation_time = $reservation_time;
            // 保存订单信息
            $res = $order->save();

            // 提交事务

            // 判断订单更新是否成功
            if($res){
                // 成功时返回成功信息
                Db::commit();

                $noticeParams = [
                    'event' => 'change_reservation_time',
                    'params' => array (
                        'receiver_admin_ids' => '',
                        'receiver_admin_group_ids' => '',
                        'order_no' => $order['order_no'],
                    )];
                \Think\Hook::listen('send_notice', $noticeParams);


                return ['code'=>1,'msg'=>'操作成功','data'=>''];
            }else{
                // 失败时返回失败信息
                Db::rollback();
                return ['code'=>0,'msg'=>'操作失败','data'=>''];
            }
        }catch(\Exception $e){
            // 回滚事务
            Db::rollback();
            // 异常时返回异常信息
            return ['code'=>0,'message'=>$e->getMessage(),'data'=>''];
        }
    }


    // 测试回调
    public static function testNotifyx($data)
    {

        $paytype = 'wechat';
        $data['return_code'] = 'SUCCESS';
        $data['result_code'] = 'SUCCESS';
        $data['transaction_id'] = $data['out_trade_no'];
        $data['total_fee'] = 1;
        $payamount = $paytype == 'alipay' ? $data['total_amount'] : $data['total_fee'] / 100;

        if($paytype == 'wechat' && $data['return_code'] == 'SUCCESS' && $data['result_code'] == 'SUCCESS'){
                $order = \app\admin\model\Order::where('order_no', $data['out_trade_no'])->find();
//            return $order;
                if(!$order){
                    return json(['code' => 'FAIL', 'message' => '订单不存在'], 500, ['Content-Type' => 'application/json']);
                }

                //判断是否已支付过
                if( $order->paid == '1' ){
                    return json(['code' => 'FAIL', 'message' => '订单已支付'], 500, ['Content-Type' => 'application/json']);
                }

                //修改订单状态
                $order->trade_no = $data['transaction_id'];
                $order->paid = 1;
                $order->paytime = time();
                $order_result = $order->save();

                // 获取客服联系方式
                $phone = Config::get('site.technical_service_hotline');
                $wechat = Config::get('site.wechat_service_hotline');
                // 获取用户昵称
                $nickname = \app\admin\model\User::where(['id'=>$order['user_id']])->value('nickname');
                // 构建通知消息
                $type = '安装';
                $msg = "{$nickname}的{$type}订单{$order['order_no']}已经下单成功，请尽快联系客户沟通。";
                $mobile = Config::get('site.technical_service_hotline');
                //发送通知短信
                noticeSend($mobile,$msg);
            }
    }



}